/*
 *  This file is part of LifeBudget - Copyright 2010 Clifton Eaton
 *  ------------------------------------------------------------------
 *  LifeBudget is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  LifeBudget is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with LifeBudget.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.lifebudget.app.client.mvc.model;

import java.io.Serializable;
import java.util.List;

import org.lifebudget.app.client.mvc.view.TransactionJournalView;

/**
 * The Class TransactionData is a Data Transfer Object used to populate the
 * {@link TransactionJournalView} with data when it loads. It contains all of
 * the Categories, all transactions, and all paycheckcalculators.
 * 
 * Serves as model object to the view as well as a Data Transfer Object and
 * therefore, meant to be used only in the client code or for communicating to
 * through GWT RPC.
 */
public class TransactionData implements Serializable {

	/** The transactions. */
	private List<Transaction> transactions;

	/** The all categories. */
	private List<Category> allCategories;

	/** The all paycheck calculators. */
	private List<PaycheckCalculator> allPaycheckCalculators;

	/**
	 * Sets the transactions.
	 * 
	 * @param transactions
	 *            the new transactions
	 */
	public void setTransactions(List<Transaction> transactions) {
		this.transactions = transactions;
	}

	/**
	 * Gets the transactions.
	 * 
	 * @return the transactions
	 */
	public List<Transaction> getTransactions() {
		return transactions;
	}

	/**
	 * Sets the all categories.
	 * 
	 * @param allCategories
	 *            the new all categories
	 */
	public void setAllCategories(List<Category> allCategories) {
		this.allCategories = allCategories;
	}

	/**
	 * Gets the all categories.
	 * 
	 * @return the all categories
	 */
	public List<Category> getAllCategories() {
		return allCategories;
	}

	/**
	 * Sets the all paycheck calculators.
	 * 
	 * @param allPaycheckCalculators
	 *            the new all paycheck calculators
	 */
	public void setAllPaycheckCalculators(List<PaycheckCalculator> allPaycheckCalculators) {
		this.allPaycheckCalculators = allPaycheckCalculators;
	}

	/**
	 * Gets the all paycheck calculators.
	 * 
	 * @return the all paycheck calculators
	 */
	public List<PaycheckCalculator> getAllPaycheckCalculators() {
		return allPaycheckCalculators;
	}

}
